package com.lab.hive.udf;

import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
/**
 * 用户自定义函数strip
 * 清除字符串首尾空格或指定字符
 * @author hadoop
 *
 */
public class Strip extends UDF {
  private Text result = new Text();
  /**
   * 清除字符串首尾空格
   * @param str
   * @return
   */
  public Text evaluate(Text str) {
    if (str == null) {
      return null;
    }
    result.set(StringUtils.strip(str.toString()));
    return result;
  }
  
  /**
   * 清除字符串首尾指定字符
   * 
   * @param str  输入字符串
   * @param stripChars  清除字符
   * @return
   */
  public Text evaluate(Text str, String stripChars) {
    if (str == null) {
      return null;
    }
    result.set(StringUtils.strip(str.toString(), stripChars));
    return result;
  }
}